3
תגובות
אהלן .
לאחר מבט קצר בפרוייקטים שעשיתי , גיליתי שקובץ הCSS שלי מלא במחלקות וIDים שאין בהם שימוש בפועל .
ולכן החלטתי לכתוב קוד שיסנן לי את המחלקות וIDים וימחוק את האלו שלא בשימוש .

בפעולת החילוץ של המחלקות והIDים מהHTML הצלחתי . אך במעבר על הקובץ CSS התוצאות היו לא חד משמעיות כלומר חלק מהמחלקות שקיבלתי מהמערך שלי (קוד בהמשך) נמצאו , וחלק שקיימים במערך אך לא נמצאו בקובץ הCSS (למרות שבפועל הם שם) .

הקוד שלי :
<?php

  $HtmlFile=file_get_contents("index.php");
  $CssFile = file_get_contents("style.css"); 

  preg_match_all("#<[^>]+ class=\"(.*?)\".*>#ixm", $HtmlFile, $class);
  preg_match_all("#<[^>]+ id=\"(.*?)\".*>#ixm", $HtmlFile, $id);

  $ClassName = array_unique($class[1]);
  $IdName = array_unique($id[1]);
  unset($id);
  unset($class);

 
    foreach($ClassName as $class)
    {
      $pattern = '/'.($class).'(\s){0,1}{(([a-zA-Z0-9:;#%\(\)\'\-])*\s*)*}/m';
      $found = preg_match_all($pattern, $CssFile, $matches);
      if($matches[0])
      {
        $key = array_keys($ClassName,$class);
        unset($ClassName[$key[0]]);
        echo "<b>Result (class) : </b>".$matches[0][0]."<br />";
      }else echo "no result for class name \"<b>".$class."</b>\".<br />";
   
    }
    echo "<hr>";
    foreach($IdName as $id)
    {
      $pattern = '/'.($id).'(\s){0,1}{(([a-zA-Z0-9:;#%\(\)\'\-])*\s*)*}/m';
      $found = preg_match_all($pattern, $CssFile, $matches);
      if($matches[0])
      {
        $key = array_keys($IdName,$id);
        unset($IdName[$key[0]]);
        echo "<b>Result (id) : </b>".$matches[0][0]."<br />";
      }else echo "no result for id name \"<b>".$id."</b>\".<br />";
   
    }  
    var_dump($ClassName);
   
?>


המטרה בסופו של דבר היא לסנן מהמערך הראשוני שמחיל את כל המחלקות והIDים שקיבלתי בהתחלה , ואם נמצא להוציא אותו מהמערך ובסופו של דבר אני אשאר עם מערך מצומצם שהערכים בתוכו הם ערכים שלא נמצאים בCSS .

מקווה שאני ברור .

אשמח לעזרה .

האבטחה ו\או זמן הריצה של הקוד לא כ"כ משנים לי ומהווים בעיה כי הוא לשימוש עצמי בשרת הפרטי .
תודה

עריכה : מצאתי ברשת את המחלקה הזו : https://www.gosquared.com/blog/archives/164 והיא לא עובדת לי . זה מפיל לי את השרת ...

3 תשובות

avatar ענה shlomo120 ב 23 לספטמבר 2012 #

לאחר חיפוש באינטרנט , הבנתי שלא תריך להמציא את הגלגל .
מצאתי תוסף לFF שבודק מה בשימוש ומה לא וגם מציע להוריד את הCSS הנקי .
מומלץ לעשות בכל כמה זמן בדיקה כזו , רק לא לשכוח להוריד מהקוד את הקישור לCSS של הפריימוורק עיצוב שלכם ;)
כמובן כדי שלא יתנקה לגמרי ...

avatar ענה intval ב 24 לספטמבר 2012 #

צרף לי בבקשה קישור לתוסף. הגיעה הזמן לעשות נקיון לפסח :)
אגב, מתוך סקרנות, אתה כנראה יכול להעיף מבט בקוד מקור של התוסף ולראות איך הוא עובד.

avatar ענה shlomo120 ב 24 לספטמבר 2012 #

הקישור : https://addons.mozilla.org/en-US/firefox/addon/css-usage

יש לציין שזה תוסף לFirebug שבFF .
למי שאין Firebug מומלץ להוריד מהאתר של מוזילה - חובה לכל מתכנת \ אחד שמתעסק עם CSS - HTML .
תיקון מתגובה קודמת : זה מציג לך כל קובץ CSS שהמחלקות שלו לא ממומשות בנפרד , כלומר אין צורך להוריד את הפריימוורק עיצוב מהאתר באופן זמני . סליחה על הטעות .

@intval
בכיף היתי מסתכל אבל אין לי מושג איפה ... :)

כתיבה וחתימה טובה.